home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Tampa Bay Amiga Group / TBAG - Tampa Bay Amiga Group's Disk of the Month #20 (1988)(Merlin's Software)(PD).zip / TBAG - Tampa Bay Amiga Group's Disk of the Month #20 (1988)(Merlin's Software)(PD).adf / Utilities / Nag / Nag.doc < prev    next >
Text File  |  1988-05-30  |  45KB  |  985 lines

  1.  
  2. WARNING!!! The internal SOUNDfile waveform has been DRASTICALLY altered.
  3.             If you use your old s:Nag.config 'sCycles' setting, you may
  4.             experience a LONG series of beeps, perhaps as many as 99!
  5.             When using the internal SOUND waveform, (a 'blank' sPath),
  6.             reset the sCycles to a lower number. 17 is good.
  7.  
  8.  
  9. IN A HURRY?: FIRST make sure you have 60k available on your system disk.
  10.               Then, Execute Nag.install file and add this one line near
  11.               the end of your startup-sequence.
  12.                 (AFTER LoadWB and AFTER the DATE has been set.)
  13.                
  14.                           RunBack -5 sys:system/Nag 
  15.  
  16. GIVE YOURSELF A BREAK:
  17.          Take a moment to look thru the doc file BEFORE
  18.          you run the program. What have you got to lose?
  19.  
  20.     ***  DOCS HAVE BEEN REVISED!!!, PLEASE READ 'EM AGAIN! ***
  21.  
  22.  
  23. CREDITS: Andry Rachmat for "3, or was it 4 lines of code?" ;-),
  24.           the 'Nagelesque' shareware disk icons, and timely words
  25.           of encouragement.
  26.          Pegi Muncey, RB Williams, Curt Blood, Ken Hoffman, Pam Smith,
  27.           and others for their suggestions on how to make Nag better.
  28.           (some advice I took, some I didn't, but thanks to all!)
  29.          John*Vig on PLink, who spent a lot of time helping me improve
  30.           the documentation and overall 'user friendliness' of Nag.
  31.          Howard Shore for beta testing, and Computer Quest for allowing
  32.           me to use their 500's & 2000's as test-sites.
  33.          Andry, Tom Smythe, ASDG, Darrin Messina, John Willott, and
  34.           especially Leo Schwab for inspiration and the proper attitude.
  35.  
  36. PLEASE!  Keep all the documentation and other files together if
  37.           you distribute Nag in any way. I have tried to make Nag
  38.           so intuitive you don't need docs, but my idea of
  39.           intuitive may not be yours!  Thank you.
  40.  
  41. **************************************************************************
  42. Nag Version 1.6 (c) 1987-1988 Richard Lee Stockton (released as shareware) 
  43. **************************************************************************
  44.  
  45.  
  46.  
  47.  
  48. *********************************************************************
  49. *************************      Nag doc     **************************
  50. *********************************************************************
  51.  
  52. ******  Table of contents  ******
  53.  
  54.      1.  Overview
  55.  
  56.      2.  Requirements
  57.              2.0  Computer
  58.              2.1  Operating System
  59.              2.2  Fonts
  60.              2.3  Disclaimer
  61.              2.4  Guarantee
  62.              2.5  Assumptions
  63.      
  64.      3.  Configuration
  65.              3.0  Auto-Configuration
  66.              3.1  Editing the Configuration file.
  67.  
  68.      4.  Installation
  69.              4.0  Auto-Installation
  70.              4.1  Contents of the arc file
  71.  
  72.      5.  Start-up
  73.              5.0  From s:startup-sequence
  74.              5.1  From WORKBENCH
  75.              5.2  From CLI
  76.  
  77.      6.  Tiny Window
  78.              6.0  General Info
  79.              6.1  The BACKDROP flag
  80.              6.2  Awakening Nag
  81.  
  82.      7.  Main Display
  83.              7.0  Top Line
  84.              7.1  Appointment 'message' display
  85.              7.2  Those Colored 'Dots'
  86.              7.3  Calendar Display
  87.              7.4  CALENDAR       gadgets
  88.              7.5  NOW            gadget
  89.              7.6  NAG and 1 NAG  gadget
  90.              7.7  EDIT           gadget
  91.              7.8  PRINT          gadget
  92.              7.9  SEARCH         gadget
  93.              7.10 SHRINK         gadget
  94.              7.11 QUIT           gadget
  95.              7.12 TITLE BOX      gadget (re-configure Nag)
  96.  
  97.      8.  Editing Appointments
  98.              8.0  When are we Editing?
  99.              8.1  What are we Editing?
  100.              8.2  The "string"   gadget
  101.              8.3  /\ & \/        gadgets
  102.              8.4  AM/PM          gadget
  103.              8.5  DELETE         gadget
  104.              8.6  COPY           gadget
  105.              8.7  RECALL         gadget
  106.              8.8  Times          gadgets
  107.              8.9  Nags Per Time  gadget
  108.              8.10 VOICE & SOUND  gadgets
  109.              8.11 DONE           gadget
  110.              8.12 CANCEL         gadget
  111.              8.13 SHAREWARE      gadget (test Nag)
  112.              8.14 How To Enter New Appointments
  113.              8.15 How To Merge And Sort Files From CLI
  114.              8.16 How To Edit Other Years
  115.  
  116.      9.  Details of the Nag.year files
  117.  
  118.     10.  Known Bugs
  119.  
  120.     11.  REVISION History
  121.  
  122.     12.  Shareware Notice
  123.             12.0  The Concept 
  124.             12.1  The Pitch
  125.             12.2  The Address
  126.             12.3  Bug Reports
  127.             12.4  Distribution
  128.             12.5  The Promise
  129.  
  130. *********************************************************************
  131. *************************  1. Overview     **************************
  132. *********************************************************************
  133.  
  134.      Nag' is an electronic appointment calendar for the Amiga. In
  135. addition to keeping track of your appointments, your anniversary, and
  136. your mother-in-law's birthday, `Nag' can be instructed to gently
  137. remind you by popping up a display of the next `nagged event'. It will
  138. hang around flashing or beeping or playing a digital sample and/or
  139. using the Amiga's voice to 'NAG' (remind) you every 30 seconds until
  140. you respond.
  141.  
  142. You can also TURN THE NAG OFF! (Much better than your mother-in-law!)
  143.  
  144.  
  145.    - ******* -           - Nag Features -             - ******* -
  146.  
  147.  -> Be Nagged (reminded) with Flash, Beep, Sample, and/or Voice.
  148.  -> Set times, and types of nags for each individual event.
  149.  -> Plays ANY file as SOUND data. Will set Period from IFF format file.
  150.  -> Simple 'intuitive' gadget-driven menus follow WORKBENCH conventions.
  151.  -> Configuration file sets Nag to YOUR preferences.
  152.  -> Up to 2 years of 99 events per day. Buffer size 2 K to 2 MEGS.
  153.  -> FAST gadget-driven editor with COPY & RECALL. 'Special Date' flags.
  154.  -> Calendar gadget quickly shows any day of any month of any year.
  155.  -> Print Routine. (Assignment sheets, printout of personal Diary, etc.)
  156.  -> Search Routine.  'Missed Nags' Routine.  'SingleShot' Nag Switch.
  157.  -> The Ultimate Reminder!!!  SHAREWARE:  User = $10  -*-  & Disk = $15
  158.  
  159. *********************************************************************
  160. *************************  2. Requirements  *************************
  161. *********************************************************************
  162.  
  163.  2.0     COMPUTER:  Amiga 500, 1000, or 2000.
  164.  
  165.  2.1       SYSTEM:  WORKBENCH 1.2 set to 80 column mode.
  166.  
  167.  2.2         FONT:  Default font or custom 8x8 font. (I use Pearl).
  168.                    
  169.  2.3   DISCLAIMER:  I disclaim responsibility for anything whatsoever
  170.                     that might occur as a result of using this program.
  171.                     As a matter of fact, I disclaim any responsibility
  172.                     for the content of this disclaimer. So there...
  173.                           *** USE NAG AT YOUR OWN RISK! ***
  174.  
  175.  2.4    GUARANTEE:  I guarantee that Nag works well for me, and I will
  176.                     continue to update and revise as I deem necessary
  177.                     to try to make it work PERFECTLY for everyone. 
  178.  
  179.  2.5  ASSUMPTIONS:  Throughout this doc file, I assume that you are
  180.                     able to edit text files, using Ed or other text
  181.                     editor, and are at least familier with the Amiga
  182.                     Command Line Interface (CLI). If you don't yet
  183.                     have these skills, you won't be able to edit Nag's
  184.                     config file, but you can still use Nag with the
  185.                     default s:Nag.config that comes in the Arc file.
  186.  
  187. *********************************************************************
  188. ***********************   3. Configuration   ************************
  189. *********************************************************************
  190.  
  191. 3.0   AUTO-CONFIGURATION
  192.  
  193.      You may use the 'Nag.install' file to automatically copy the
  194. required files to the proper places in your system for the sample
  195. s:Nag.config file. (Requires about 70k with SOUND sample).
  196. To make this happen:
  197.           1> cd to the directory containing all the Nag files, and
  198.           2> execute Nag.install
  199.           
  200. 3.1   EDITING THE CONFIGURATION FILE
  201.  
  202.    This file (s:Nag.config), can be edited with most editors or word
  203. processors. The 'Ed' that comes with your WorkBench works fine.
  204.    MAINTAIN THE FORMAT! (same # of lines, data starts on space 11,
  205. spaces on either side of data, etc.), or Nag will get confused!
  206.  
  207. sayFirst: The first half of the first thing the voice will say.
  208. sayFirst: The second half of the first thing the voice will say.
  209.  
  210.   Buffer: Size of the buffer in bytes.
  211.            The buffer needs to be big enough to hold both this year and
  212.            next year's files plus what you plan to add when editing.
  213.            (Minimum size = 2,000 bytes, Maximum size = 2,048,000 bytes.
  214.            If you try to use an out of range buffer size, Nag will
  215.            choose the closest valid value. To determine how large a
  216.            buffer you require, add the filesizes of the Nag.year files,
  217.            (Nag.thisyear + Nag.nextyear), plus an additional 1000 bytes
  218.            or so as Editing space. The structure of the nag entries has
  219.            been made as memory efficient as possible, so a single event
  220.            will take, AT MOST, 60 bytes in the Nag.year file.
  221.  
  222.   nagDir: Full path to the Nag.1988, Nag.1989, etc. files. Nag looks for
  223.            a space to tell where any Path string ends, so don't put any
  224.            embedded spaces within the nagDir Path or in the soundFile
  225.            path! See the system directory for the file sizes. 20,000
  226.            bytes is likely to be sufficient for all but the busiest
  227.            bureaucrat.
  228.  
  229.   bdHour: Default hour. Birthdays and other days with no specific hour
  230.            entered will be nagged at this hour. (military time!). 1600
  231.            hours, (4:00 pm), works well.
  232.  
  233.  nagFlag: NagFlag. 1=ON, 0=OFF.  If OFF, no nags will occur at all.
  234.   ssFlag: SingleShot Flag. 1=ON, 0=OFF. If ON, nags will not repeat
  235.            every 30 seconds.
  236.  
  237.  sayRate: VOICE: Words Per Minute.     150 is good     (   40 to   400)
  238. sayPitch: VOICE: Pitch of voice.   bass voice = 67     (   65 to   320)
  239.   saySex: VOICE: Sex and Mode of Voice. 0 or 2 = Male,1 or 3 = Female,
  240.                   greater than 1 = Robot  (male & female robots?)
  241.  sayFreq: VOICE: Sample Frequency. Default = 22200     ( 5000 to 28000)
  242.                   Fool with this at your own risk. Higher number gives
  243.                   Nag a lower sounding voice.
  244.  
  245.  sPeriod: SOUND: Time to play 1 byte in clock ticks    (  127 to 65535)
  246.            Period(in clock ticks) = (microsecs per sample)/0.279
  247.            So, if the SOUND was sampled at 10,000 samples per sec, that's
  248.            .0001 sec per sample, or 100 microseconds. 100/.279 = 358.
  249.            Sound sampled at 10,000 samples per second should have a
  250.            sPeriod of 358. (IFF SOUND files compute their own sPeriod.)
  251.  sVolume: SOUND: Volume. 0 = minimum     64 = maximum  (    0 to    64)
  252.  sCycles: SOUND: Cycles. Number of sound sample repeats(    1 to 65535)
  253.            This is mostly for the internal sound. Most SOUND samples will
  254.            have sCycles set to 1. When using the internal sample, try
  255.            setting sCycles from 2-20, and sPeriod from 127-1000. The
  256.            internal sample is 1024 bytes long and has silence built in
  257.            before and after the 'beep' so it will 'pulse' if sCycles are
  258.            set to greater than one.
  259.            
  260.   lPlace: Left Edge of the Tiny Window.                (    0 to   608)
  261.   tPlace: Top  Edge of the Tiny Window.                (    0 to   189)
  262.            If your WORKBENCH in in interlace, the top edge may go down
  263.            to 389. If bdFlag = 1, Nag will not allow a top edge less
  264.            than 2. (otherwise the TinyWindow would be hidden by the
  265.            title bar!)
  266.   bdFlag: bdFlag toggles Tiny Window.  Normal = 0,  BACKDROP = 1.
  267.            If bdFlag = 0, the Tiny Window acts like a normal window. You
  268.            may depth arrange other windows on the WORKBENCH screen in
  269.            front or in back of it. However, if bdFlag = 1, the Tiny Window
  270.            STAYS behind ALL other windows AND the WORKBENCH title bar.
  271.                    <NOTE: See Warning in section 6.1!>
  272.  
  273.      WBc: ColorFlag. 0 = Normal, 1 = Colors 1(white) & 3(red) are reversed.
  274.             (This may be of help if you use 'strange' WorkBench colors.)
  275.  
  276.    sPath: SOUNDfile path. Full path and filename for digital sound sample.
  277.            If the sample is IFF, the Period will be calculated and the
  278.            config file sPeriod will be ignored. If the config file has
  279.            the Cycles set to more than 10, Cycles will default to 1 to
  280.            play the digital sample. Volume is ALWAYS read from the
  281.            s:Nag.config file. Re-config reloads soundfile.
  282.  
  283.    mFlag: 'Missed Nags' flag. 0 = normal, 1 = skip the opening display
  284.             of 'You May Have Missed...' when Nag is first started.
  285.             If you RESET your Amiga a lot, you may not want to be
  286.             reminded of Missed Nags EVERY time. Set this flag to '1',
  287.             and when called in your startup-sequence, Nag will only
  288.             open the 'Tiny' window.
  289.  
  290. NOTE: Be sure to maintain the order and format of the configuration
  291. file or you will be in deep guano! Keep the vertical lines vertical,
  292. and the data starting on the 11th character. You may wish to keep a
  293. backup copy of the s:Nag.config just in case it all goes wrong! ;-) 
  294.  
  295. *********************************************************************
  296. ***********************   4. Installation    ************************
  297. *********************************************************************
  298.  
  299. 4.0 -  AUTO-INSTALLATION
  300.  
  301.     You may use the 'Nag.install' file to automatically copy the
  302. required files to the proper places in your system for the sample
  303. s:Nag.config file. (Requires about 60k with 15k SOUND sample.)
  304. To make this happen:
  305.           1> cd to the directory containing all the Nag files, and
  306.           2> execute Nag.install
  307.  
  308. 4.1   CONTENTS OF THE ARC FILE
  309.  
  310.     -* file *-        -*  purpose  *-            -* suggested location *-
  311.  
  312.       Nag              the program. Put in your        system drawer.
  313.       Nag.info         Tool icon for use from WBench   system drawer.
  314.       Nag1.info        a alternate tacky, chauvinistic icon  ;-)
  315.       Nag2.info        a time oriented icon 
  316.       Nag3.info        another tacky, chauvinistic icon.....
  317.       
  318.       Nag.config       this config file MUST be in your s: drawer.
  319.       Nag.config2      just a spare with alternate settings to try.
  320.  
  321.       Nag.1988         put this yearfile in your      system drawer.
  322.       Nag.1989         put this yearfile in your      system drawer.
  323.       Nag.1990         put this yearfile in your      system drawer.
  324.       Nag.year         See section 8.15 for uses of this file.
  325.       
  326.       Nag.doc          Instructions and helpful hints. A Must Read!
  327.                         (or you can wrap fish with the printout.)
  328.       Nag.PROMO        Advertisement
  329.       Nag.install      Execute this if you are confused and/or lazy.
  330.       ReadMeNow!       You should have read this already!
  331.  
  332.                    - Also included: -
  333.       RunBack          Allows Nag to run from startup-sequence.  c:
  334.       RunBack.doc      Documentation for RunBack.
  335.       ThruDaWindow     A IFF digitized sound effect.             s:
  336.  
  337. 4.2   NECESSARY FILES
  338.  
  339.          The only REQUIRED files are Nag (the program), 2 Nag.year
  340.           files (Nag.thisyear & Nag.nextyear), and s:Nag.config.
  341.           
  342.          if you start Nag from your startup-sequence, the program
  343.           RunBack (included in the arc file) is also needed.
  344.           
  345.          If you use the VOICE feature, the standard WORKBENCH files
  346.              devs:narrator.device  &  libs:translator.library
  347.                 must be available or the VOICE won't work.
  348.  
  349. *********************************************************************
  350. **********************  5. Getting Nag Started  *********************
  351. *********************************************************************
  352.  
  353. 5.0   Nag is intended to be run from your startup-sequence. Edit your
  354.        s:startup-sequence file so that one of the LAST lines, (AFTER
  355.        loadWB, if you use WORKBENCH, and AFTER the system time is SET),
  356.        is :
  357.                  RunBack -5 sys:system/Nag
  358.  
  359. 'RunBack', (included with Nag15.arc), should be in your c: directory.
  360.  
  361. 5.1   OR: To Start Nag From WORKBENCH, simply click on it's icon.
  362.  
  363. 5.2   OR: To Start Nag From CLI,   1> Run Nag
  364.        You may start Nag from any CLI, using "Run Nag", but you will
  365.        be unable to close this CLI while Nag is running.
  366.  
  367. *********************************************************************
  368. ********************  6. Tiny "Sleeping" Window  ********************
  369. *********************************************************************
  370.  
  371. 6.0 - General Info
  372.  
  373.     When first run, the word 'Nag' in contrasting colors will appear
  374. in the workbench display. This is Nag at rest. This 'Tiny Window' may
  375. be placed anywhere on your screen by setting lPlace (left edge) &
  376. tPlace (top edge) in the s:Nag.config file.
  377.  
  378. 6.1 - BACKDROP flag   ( 0 or 1 )
  379.  
  380.     If the BACKDROP flag in s:Nag.config is set to 0, the Tiny Window
  381. will be a normal, albeit small, window. (In this mode the Tiny Window
  382. will START in front and stay at whatever depth level you leave it.)
  383.  
  384.     If the BACKDROP flag is s:Nag.config is set to 1, the Tiny Window
  385. will STAY behind all other windows. In fact, in some ways, it is more
  386. like a disk icon than a window. It is even possible to slide the Tiny
  387. Window up under the WORKBENCH title. If, for instance, you set the
  388. TopEdge of the Tiny Window to 2, (tPlace in s:Nag.config), the only
  389. visible sign of Nag is a 30 pixel horizontal line in WORKBENCH color
  390. number 3 just under the title line.
  391.  
  392. WARNING!: If WORKBENCH is run (or re-run) AFTER Nag, and the bdFlag=1,
  393.            Nag's Tiny Window will disappear behind the WorkBench screen,
  394.            FOREVER!  Run WORKBENCH FIRST! (loadWB)  Then run Nag.
  395.  
  396. 6.2 - Awakening Nag
  397.  
  398.     Nag's Tiny Window will hang around waiting for one of THREE events.
  399.  
  400.       1.   The Timer signal arrives. (Time to remind you!)
  401.  
  402.        In this case, if the "Nag" or "1 Nag" gadget is "lit", the
  403.        "Nag Window" will pop up in front of all current screens
  404.        displaying the event which triggered it.
  405.         NOTE: If you are editing or searching when the Timer signal
  406.          arrives, that window will be closed before the Nag.
  407.         
  408.            YOU MUST PRESS THE LEFT MOUSEBUTTON INSIDE THE NAG
  409.            WINDOW TO ACKNOWLEDGE THE NAG AND MAKE IT GO AWAY!
  410.        
  411.         An un-acknowledged nag will repeat every 30 seconds
  412.         until it is acknowledged...   (soooo irritating... ;-)
  413.  
  414.       2.  You 'Click' on the word "Nag" in the Tiny Window.
  415.  
  416.         In this case, you are taken to the main display screen and
  417.         the current list of upcoming appointments is listed.
  418.  
  419.       3.  Upon startup, if a reminder has been missed.
  420.  
  421.        If there are UPCOMING EVENTS whose reminders have been missed
  422.        because Nag has just now started, Nag will open the MAIN DISPLAY
  423.        WINDOW when first run, and display what you missed. (Your
  424.        startup-sequence will continue in the background.) You may also
  425.        initiate this "Missing Nags Search" by 'SEARCH'ing for a single
  426.        character.
  427.  
  428.        NOTE: Missing Nags are always calculated from NOW.
  429.         
  430. *********************************************************************
  431. **********************  7. MAIN DISPLAY WINDOW  *********************
  432. *********************************************************************
  433.  
  434. 7.0 - The Top Line
  435.  
  436.     The top line displays today's time and date and the APPROXIMATE
  437. number of minutes until the next "nagged" event. The top line is
  438. updated whenever you move the mouse or select a gadget.
  439.  
  440. 7.1 - Appointment Display
  441.  
  442.      The current list of appointments is displayed in the large area
  443. on the left side of the main display window, each day "headered" with
  444. a date-line. If the appointment or event is within one week of NOW,
  445. the Day-Of-The-Week will be highlighted. 'Today' and/or 'Tomorrow',
  446. as they relate to NOW, will also be indicated.
  447.  
  448. 7.2 - Those Colored 'Dots'
  449.  
  450.      A 'dot' located between the time and the event indicates that 1 or
  451. more Nag Flags have been set. Black(color #2) = Flash, Red(color #3) =
  452. SOUND nag and White(color #1) = VOICE nag. To determine EXACTLY which
  453. flags and how many nags are set, use the Edit Screen. (see below)
  454.  
  455. 7.3 - The Calendar Display
  456.  
  457.      Dates are intially in black (color #2), then those dates which
  458. have an event are changed to red (color #3), or if there is a 'nagged'
  459. event, that date is changed to white (color #1). You can tell with a
  460. glance at the calendar when your next 'open' day will be. You may also
  461. REVERSE color #1 and color#3 by setting a flag in the s:Nag.config file.
  462.  
  463.    CREDIT:  Some calendar routines were borrowed from a public domain
  464.              program called "calendar". I hereby thank the author of
  465.              calendar, for saving me a lot of "grunt work"!
  466.  
  467. 7.4 - The Calendar Gadgets
  468.  
  469.     The YEAR and/or MONTH can be changed by pressing the left mouse
  470. button on the "<<<  >>>" marks. (Nag will not update the appointment
  471. display until a day of the month is chosen). The current day of the
  472. month can be changed by pressing the left mouse button on the selected
  473. day. Remember you can only view appointments from this year and next
  474. year although you may set the calendar for other years.
  475.  
  476. 7.5 - NOW gadget
  477.  
  478.     Resets Nag to current time and date.
  479.  
  480. 7.6 - NAG or 1 NAG gadget
  481.  
  482.     If this gadget is 'off', "Nag is gagged".
  483. If either Nag or 1 Nag is on (lit), the NAG feature is activated.
  484.    (1 Nag is selected by clicking 'NAG' twice and vice-versa.)
  485.  
  486.         NAG: When 'NAG' is lit, you are in standard Nag mode. When
  487. a nag event occurs, you must respond by clicking in the Nag window,
  488. or the Nag will continue to repeat every 30 seconds.
  489.  
  490.       1 NAG: When '1 NAG' is lit, ONLY ONE nag will appear for each
  491. nagged event. You DO NOT have to respond to the nag when this flag is
  492. lit. The Nag will show for 15-20 seconds and go away ATTEMPTING to
  493. return your machine to the way it was before the nag began.
  494.  
  495. 7.7 - EDIT gadget
  496.  
  497.     Takes you to the "Edit" Screen to edit the chosen date. (see below)
  498.  
  499. 7.8 - PRINT gadget
  500.  
  501.     Uses preferences thru PRT device to print hardcopy of selected
  502. appointments. (skips perforation if necessary).
  503.     Prodedure: Select start date, select PRINT, (gadget lights to
  504. indicate that PRINT is active), select end date, select PRINT again.
  505. When the display returns to show the start date, control has been
  506. returned to you. To print currently selected day, just double-click
  507. the PRINT gadget. (selecting a day starts the day from 12:01am,
  508. selecting NOW makes PRINT start from the current hour.
  509.   
  510. NOTE: IF YOU NEED TO ABORT THE PRINTING:
  511.       Turn off your printer, wait 30 seconds or so for the 'printer
  512.       trouble' requestor to appear, and select 'CANCEL'.
  513.       
  514. IF THAT DOESN'T WORK OR YOU ARE IMPATIENT:
  515.      Keep turning your printer on and off until control returns.
  516.        (Yes, I'd call this a bug, but NOT MINE.)
  517.  
  518. 7.9 - SEARCH gadget
  519.  
  520.     Makes a non case-dependent search of the "message" parts of the
  521. appointments for the entered string and displays each occurence on the
  522. main screen. A string of only one character will display all possibly
  523. 'missed' nags from 'Now'.
  524.  
  525. 7.10 - SHRINK gadget
  526.  
  527.      Closes the Main Display Window and exposes the Tiny Window.
  528. Clicking on SHRINK is the proper way to exit Nag. It remains ready,
  529. but in the background waiting. In addition, any changes in the year
  530. files are automatically saved in case the system goes down prematurely.
  531.  
  532. 7.11 - QUIT gadget
  533.  
  534.      REMOVES Nag from the operating system. Changes in the year files are
  535. saved before Nag gives up if you select 'Yes' when the Requestor pops up.
  536.  
  537. 7.12 - TITLE BOX gadget  (re-configure)
  538.  
  539.      The title box (lower right area) is also a gadget. It re-loads the
  540. config file and reconfigures ALL of Nag if you select the 'Yes' Requestor.
  541.  
  542. *********************************************************************
  543. *************************  8. EDIT SCREEN  **************************
  544. *********************************************************************
  545.  
  546. 8.0  - When are we editing?
  547.  
  548.     Nag only works on, and edits, THIS year and NEXT year. If you leave
  549. your Amiga running thru New Year's Eve, please 'QUIT' Nag and re-start
  550. to set the new year. (If you don't, Nag will continue to use the
  551. original yearfiles, and you will be unable to edit next year.)
  552.  
  553. 8.1  - What are we editing?
  554.  
  555.      You are editing the ONE day that was set on the `calendar' before
  556. you selected the "EDIT" gadget. The date being edited is displayed in
  557. the top line of the Edit screen.
  558.  
  559. 8.2  - The "string" gadget
  560.  
  561.      The long red rectangle, with the curser in it is the 'string'
  562. gadget. Enter your message here as the first step in the data entry
  563. process. Then the time and other gadgets may be set. This is the
  564. text that will be translated by translator and spoken by narrator
  565. if the VOICE is used.
  566.  
  567. 8.3  - The /\ and \/ gadgets
  568.  
  569.      All of the "/\" and "\/" thingies are gadgets. Starting from the
  570. upper left, the first set controls the hours, the 2nd set controls the 
  571. minutes, and the 3rd set controls the line number. You may have up to
  572. 99 lines per day. The hour control gadgets can be used to set certain
  573. visual flags (BIRTHDAY, ANNIVERSARY, !ACTION!) instead of a specific
  574. time. Just keep clicking one of the line number gadgets to cycle through
  575. all the possibilities. The AM/PM gadget can speed this process.
  576.  
  577. 8.4  - AM/PM gadget
  578.  
  579.      am/pm can be switched by selecting the am/pm gadget.
  580.  
  581. 8.5  - DELETE gadget
  582.  
  583.      Removes the currently displayed line from the edit buffer.
  584.      Remember to select 'DONE' when you are finished editing that
  585.      day to save your changes to the main buffer.
  586.  
  587. 8.6  - COPY gadget
  588.  
  589.      Copies the currently displayed line into the Copy buffer. The
  590. last event copied remains safe in the Copy buffer until you QUIT Nag.
  591. The copy buffer copies everything except the date so you can move what
  592. you copy to another day and/or month.
  593.  
  594. 8.7  - RECALL gadget
  595.  
  596.      Copies the Copy buffer into the currently displayed line. Using the
  597. COPY & RECALL functions makes entering repeated dates, (like User meetings,
  598. Car maintenence, "Washday"), etc. quick and painless.
  599.  
  600. 8.8  - Time gadgets
  601.  
  602.      At the upper right is the Nag 'Times' selection area. You may
  603. select any combination of time periods to be "nagged". (15 MIN, HOUR,
  604. DAY, WEEK, 30 DAYS and/or OnTime) previous to the "event".
  605.  
  606. 8.9  - Nags Per Time gadgets
  607.  
  608.      The fourth set of "/\ \/" gadgets controls the "Nags Per Time".
  609. This number is combined with each SELECTED Time to determine how
  610. often you will be 'nagged'.
  611.  
  612.      For example: if you have selected 1/4 Hourly, Hourly, and Daily,
  613. the nags per time is 2, and the "Nag" flag is "lit" on the  Main
  614. Display Screen, you will be reminded of the upcoming event at 48 hours,
  615. 24 hours, 2 hours, 1 hour, 30 minutes, and 15 minutes before the upcoming
  616. "event". Nag won't nag you at the exact time of the event unless you have
  617. set the "On Time" time.
  618.  
  619.      When a Time or Mode is selected, Nags Per Time will automatically
  620. advance to 1. When all are de-selected, nags will automatically go to 0.
  621. Note that if no Times or Modes are selected, Nags Per Time can NOT be set.
  622.      The maximum Nags Per Time is 7.
  623.  
  624. 8.10 - VOICE & SOUND  gadgets   (make some noise)
  625.  
  626.      Above the Nag Time Selection area are two Nag 'Mode' selection
  627. gadgets for 'VOICE' and 'SOUND'. You may select either, both or none
  628. for each event. None = flash (Amiga function DisplayBeep). If you want
  629. no nags at all, leave ALL flags OFF for this event, or turn off the NAG
  630. gadget on the Main Display Window. (The latter disables ALL nags)
  631.  
  632. NOTE: Settings for the VOICE and SOUND are in the Nag.config file.
  633.        Any file may be used as the SOUND file, but real digital samples
  634.        seem to work best. ;-)  If the file is in IFF format, the proper
  635.        Period will be computed, otherwise, the values in s:Nag.config
  636.        is used. If Nag cannot find your digital-sample-sound-file,
  637.        (sPath in s:Nag.config), it will use an internal 1024 byte
  638.        'pulse' wave as sound data with the s:Nag.config values.
  639.        After MUCH work, this is STILL an ugly sound. Maybe it was
  640.        destined to be. The program IS called Nag, ya know... ;-)
  641.  
  642. 8.11 - DONE  gadget
  643.  
  644.      Means you are satisfied with this day's appointments. (Changes
  645. will be saved automatically if you 'SHRINK', or Requestored if you
  646. 'QUIT' Nag.)
  647.  
  648. 8.12 - CANCEL  gadget
  649.  
  650.      Means you want Nag to `forget' this editing session. (no changes
  651. saved, everything the way it was before you started to edit.)
  652.  
  653. 8.13 - SHAREWARE  gadget  (Test Nag)
  654.  
  655.      The shareware message is also a gadget. It generates a TEST 'nag'
  656. using the event and settings you are currently editing. Nag will
  657. complain if you have failed to set a Mode and/or Time.
  658.  
  659. 8.14 - To Enter New Appointments:
  660.  
  661.      Make sure you are looking at the "Editing:" screen.
  662.      Use the Line # gadgets to move to a blank line. (highest #)
  663.      Type in the information to be displayed. (up to 45 characters)
  664.         Press RETURN to enter a new "message" string.
  665.      Then: If you want to be nagged, light at least one 'Time'or'Mode'.
  666.      (If you select VOICE and/or SOUND first, Nag assumes
  667.        you want an 'OnTime' nag and sets that Time for you.)
  668.  
  669. NOTE: You MUST enter a message string before you can set anything, and
  670. you MUST set at least one 'Time' or 'Mode' before it is possible to set
  671. the number of 'Nags Per Time'. (That makes sense, doesn't it?)
  672.  
  673. NOTE: To 'unset' nags, turn ALL flags OFF.
  674.        
  675. FINALLY!:  Select the 'DONE' gadget to 'save' the changes to the main
  676. buffers. (The buffers are saved to disk when you SHRINK or QUIT Nag.)
  677.  
  678.       You may test your new nag by selecting the Shareware Notice.
  679.  
  680.                       That's all there is to it!
  681.  
  682. You can watch your work updating the day's entries in the window below.
  683. When the day looks correct, REMEMBER to select "DONE" to save that day.
  684.  
  685. 8.15 - Merging and Sorting from CLI - (using the Nag.year file)
  686.  
  687.         Try entering all your birthdays, anniversaries, holidays, and
  688. other dates that don't change year to year into the generic 'Nag.year'
  689. file using a text editor. Then, when you need a new year, use the AmigaDog
  690. command 'copy', from CLI, to copy Nag.year to Nag.1990 (for example).
  691.         If you ALREADY have your Nag.1990 file, and you wish to MERGE
  692. the two files togeather, use the CLI commands 'Join' and 'Sort' to
  693. construct your new file and 'Copy' it to the proper directory.
  694.  
  695.         Example: (from CLI)
  696.  
  697.         Cd   RAM:
  698.         Copy sys:system/Nag.1990 Nag.old
  699.         Join Nag.old             Nag.year as Nag.join
  700.         Sort Nag.join            Nag.1990
  701.         Copy Nag.1990        sys:system
  702.  
  703. 8.16 - Editing Years Other Than 'ThisYear' and 'NextYear'
  704.  
  705.      Although Nag can only edit 'thisyear' and 'nextyear', you can
  706. easily 'fool' it with the 'DATE' command from CLI. Let's say that
  707. it is 1988 but you want to edit 1987 before you print it out as
  708. your personal diary for that period. Here's how to do it:
  709.  
  710.     First, 'Quit' Nag.
  711.  
  712.   (then, from CLI)    DATE  01-JAN-87  (the month and day don't matter)
  713.                       RUN   Nag
  714.  
  715.     Bingo! There you are back in 1987! Go ahead and finish editing
  716. and printing until you are finished with 1987.
  717.  
  718.  DON'T FORGET TO RE-SET THE DATE TO THIS YEAR WHEN YOU'RE THROUGH!
  719.  
  720. *********************************************************************
  721. *********************  9. Nag.year Format  **************************
  722. *********************************************************************
  723.  
  724.     The Nag.year files contain YOUR data. It is formated as follows:
  725.  
  726.     The first 8 characters are the date and time, ie, MMDDHHNN,
  727.      where MM = month, DD = day, HH = hours, NN = minutes.
  728.      Hours and minutes are in military (24 hour) time.
  729.      2400 hours = 'blank'        2500 hours = BIRTHDAY
  730.      2600 hours = ANNIVERSARY    2700 hours = !ACTION!
  731.  
  732.     The ninth and tenth characters are set to blanks, (the spacebar
  733.      character), if no 'Nag Times' are set.
  734.  
  735.     If one or more 'Nag Times' are set, the ninth character is the
  736.      nagCode + ASCII ';' (nagCode + 58)
  737.         Nag Times are bit-wise flags.
  738.            15 MIN = 1           HOUR   =  2      DAY   =  4
  739.            WEEK   = 8         30 DAYS  = 16    ON TIME = 32
  740.      so if the 15 MIN and WEEK flags are selected, the nagCode is
  741.      1 + 8 = 9, and the ninth character is 9+58=67, or ASCII 'C'.
  742.     Likewise the tenth character = Nags Per Time + modes + 48. ('0')
  743.      Here the modes are VOICE = 8, and SOUND = 16. So, if you had set
  744.      two Nags Per Time, and selected both the SOUND and VOICE modes,
  745.      the tenth character would be 2 + 8 + 16 + 48 = 74 or ASCII 'J'.
  746.  
  747.     The words you entered for this date and time start on the 11th
  748.      character, and are limited to 48 characters. (58 characters total)
  749.  
  750.     The data MUST! be ordered from top to bottom with January at the
  751.      top. You can use the CLI command 'SORT' to put your Nag.year
  752.      files in order, see section 8.15 for an example.
  753.      
  754.  
  755. *********************************************************************
  756. ***********************  10. KNOWN BUGS  ****************************
  757. *********************************************************************
  758.  
  759. 10.0 - 'Top Line is Garbled' Bug
  760.  
  761.      Sometimes all of the top line on the MAIN and/or EDIT windows
  762. will not display, allowing whatever was there before shine thru. Less
  763. often garbled characters will appear part-way through the top line.
  764.  
  765.      I have been unable to detect any problems associated with this
  766. 'quirk' other than momentary irratation with the display, and it can
  767. easily be fixed by selecting ANY gadget. None-the-less, I would like
  768. this kill this pesky insect. If anyone knows why this is happening,
  769. I would GREATLY appreciate a phone call, card, letter, or E-Mail.
  770.   (see Section 11 of this document for 'how to reach me' info.)
  771.  
  772. *********************************************************************
  773. ***********************  11. REVISIONS  *****************************
  774. *********************************************************************
  775.      - Nag  Revisions:  Written in Manx Aztec 'C' Version 3.4 -
  776. Version
  777. 1.6  03/22/88   Started over from 1.4 - Redid all of 1.5 revision.
  778.  39512 bytes     Found a few more routines to 'optimize'.
  779.                  Added 'Skip Missed Nags' flag to s:Nag.config.
  780.                  Killed the garbled top line bug?
  781.                  Fixed the 'VOICE sometimes speaks wrong day' bug.
  782. 1.5  03/04/88   Re-worked & de-bugged the internal SOUND routines.
  783.  39720 bytes     Re-config 'takes' the FIRST time now in ALL cases.
  784.                  Killed the 'Nag occurs while editing may Guru' bug.
  785.                  Re-worked graphics routines for smaller code size.
  786.                  Added time (HH:MM) to the top line which is now
  787.                  updated by any mouse movement or selection.
  788.                  Replaced SetWindowTitles() with Text(). (less code)
  789.                  DELETE is now only permenent if combined with DONE.
  790. 1.4  02/10/88   All allocations made MEMF_PUBLIC. (got nuthin' ta hide.)
  791.  41644 bytes     AllocMem() & CloseWindow() replaced with SafeAllocMem()
  792.                  and CloseWindowSafely(). Saved a few more code bytes.
  793.                  NagWindow 'select' more aesthetically pleasing. ;-)
  794.                  Re-organized & cleaned up source code. (neatness counts!)
  795. 1.3  01/31/88   Print routine no longer leaves printer in italics.
  796.  41584 bytes     Tomorrow displayed correctly for ALL dates.
  797.                  Tiny window no longer 'stores' mouse clicks.
  798. 1.2  01/24/88   Missed Nags no longer trashes the date in the title line.
  799.  41652 bytes     30 Day Nag now works right. Missed Nags always from NOW.
  800.                  Corrected spelling of 'to(m)morrow'. More Code Shrunk.
  801.                  Line Buffer now de-allocates (6k) when not needed.
  802.                  Complete re-write of docs. Fixed 'Edit 99th line' bug.
  803.                  Fixed the 'if no SoundFile you get long noise' bug.
  804. 1.1  01/09/88   More Initialization to 'Bullet-proof' everything.
  805.  42000 bytes     Fixed the 'Buy Some RAM!' bug. (Folks with No Fast_RAM.)
  806.                  No more crashes after displaying nag!
  807. 1.0  01/03/88   Skip over VOICE/SOUND problems to avoid 'requestor hang'.
  808.                  Add Reverse Colors Switch to s:Nag.config file.
  809.                  Re-Config now reconfigures EVERYTHING immediately.
  810.                  Rewrote docs. "NULLs? We doan need no #$%@ing NULLS!"
  811.                  Shorter Error Messages. Rewrote code for smaller size.
  812.                  Load SOUNDfile and IFF info (if available).
  813.                  Added Nag 'dots' to main display. Killed more bugs.
  814.                  Set Tiny Window to BACKDROP in s:Nag.config file.
  815. 0.9  12/12/87   Tiny Window: smaller, placement in s:Nag.config
  816.                  YearFiles: More idiot-proofing.
  817. 0.8  12/09/87   Reworked Nag Flag Selection Routines. NULLed ALL strings.
  818. 0.7  12/07/87   Shorten code. More error message handling. ReLoad Config.
  819.                  Save Requestor for 'QUIT'.
  820. 0.6  12/03/87   Kill Requestors during Nags. (& Req bug).
  821.                  Reworked Sound routine.
  822. 0.5  11/28/87   Added: Config File, Voice, Sound, & Print. Missed Nags
  823.                  on demand. On Time Flag. Better error reporting.
  824.                  Test Nag. Displays made 199 lines high, not 200.
  825. 0.4  11/07/87   Too many people with non-standard WB colors, so changed
  826.                  Calendar display of nags to colors. Minor cosmetics...
  827. 0.3  11/04/87   Changed nag mark to shadows. Fixed the bug
  828.                  that caused wrong year after some Edits.
  829. 0.2  11/03/87   Fixed some minor display bugs. Nags marked on calendar.
  830. 0.1  11/02/87   Fixed Beep Bug. Changed ^ to ~. Improved docs.
  831.                  Display 'Missed' Nags on startup.
  832. 0.0  10/29/87   Initial shareware release.
  833.  
  834. *********************************************************************
  835. ************************   11. SHAREWARE   **************************
  836. *********************************************************************
  837.  
  838. 11.0 - The Concept:
  839.  
  840.      Quality software you get to try in your own computer environment
  841. at little or no cost.
  842.                 
  843. 11.1 - The Pitch:
  844.  
  845.      If you find that you continue to use this software, a $10 donation
  846. to the author is encouraged and will place your name on the official
  847. "user's list". $15 or more will also get you a disk with the latest
  848. versions of Nag and other shareware. You may make your shareware
  849. donation in the form of a PLink or Genie gift to RLStockton.
  850.  
  851. 11.2 - The Address:
  852.                        Richard Lee Stockton (Nag)
  853.                        21305 60th West
  854.                        Mountlake Terrace, WA 98043
  855.                 
  856. 11.3 - Bug Reports:
  857.                        Send to the above address (US Snail) OR:
  858.                        EMail: RLStockton  on  GENIE & PLINK OR:
  859.                        call (voice only!) (206) 776-1253 (Seattle area)
  860.  
  861. 11.4 - Distribution:
  862.  
  863.      May not distributed for profit without prior written permission
  864. from me. Individuals ARE encouraged to copy and give away Nag15.arc to
  865. their friends (and enemies) and in addition; Fred Fish, Amicus and/or
  866. other public distribution services of like intent are hereby given
  867. permission to distribute Nag as long as the contents of the arc file
  868. and all copyright notices remain intact.
  869.  
  870. 11.5 -  The Promise:
  871.  
  872.      I shall maintain (and update as necessary) this shareware product
  873. in an effort to make it the BEST software of it's type, commercial or
  874. otherwise.
  875.  
  876. ************************************************************************** 
  877. ***************   La lingua de Amiga? Si! Poco a poco!   *****************
  878. **************************************************************************
  879. ******  DON'T  PAY  BIG  BUCKS!   ***   SUPPORT  AMIGA  SHAREWARE! *******
  880. **************************************************************************
  881. Nag Version 1.6 (c) 1987-1988 Richard Lee Stockton (released as shareware) 
  882. **************************************************************************
  883.  
  884. ReadMe for "RunBack"
  885.  
  886. RunBack is a program that allows you to start another program which is
  887. independant of the CLI window.  This is particularly useful if you want
  888. to start a program in you Startup-Sequence and then load the WorkBench,
  889. closing the initial CLI.  Without RunBack, the original CLI window cannot
  890. be closed until the programs Run from that CLI have terminated.
  891.  
  892. This program is being distributed as a service to owners of FastFonts,
  893. as RunBack is particularly useful with the FunKeys hotkey program included
  894. with FastFonts.  This program, source and ReadMe are Copyright 1987,
  895. Microsmiths Inc and may only be distributed together in their original
  896. unmodified state. Bug reports will be appreciated.
  897.  
  898. FastFonts owners, please be sure to send in your registration cards!  We
  899. will be sending a notice of a *FREE* update for owners of FastFonts V1.0
  900. that fixes some minor bugs and adds a few enhancements to the various
  901. programs included with FastFonts.  Notices will be sent early in April '87
  902. to registered FastFonts owners.
  903.  
  904.     Microsmiths, Inc, PO Box 561, Cambridge, MA 02140
  905.     (617) 354-1224    BIX: cheath  Compuserve: 74216,2117
  906.  
  907. RunBack was inspired by the "C" program RunBackground written by *Rob Peck*
  908. of Amiga.  RunBack also allows you to specify the stack size for the
  909. program being started.  Also, RunBack is about 1/4 the size of the original
  910. RunBackground as it is written in assembler.
  911.  
  912. The following description comes from the original runbackground.c:
  913.  
  914. ***************************************************************************
  915. --------------
  916. runbackground.c  
  917. ---------------
  918.  
  919. SUMMARY:  A Workbench Disk can be used to autostart an application
  920.       through the use of the startup script and close the startup CLI.
  921.  
  922.  
  923. Users have commented that it is not possible to start a process going 
  924. from the startup script and then cause the initial CLI to go away.   
  925. Here is the solution to that problem, named appropriately:
  926.  
  927.     RUNBACKGROUND
  928.  
  929. which starts and runs a background task.  This does indeed allow you to
  930. create a startup script that will set up your workbench running any
  931. programs you might wish, removing the initial CLI in the process.
  932.  
  933. Your s/startup-sequence can contain lines such as the following:
  934.  
  935.     RUNBACKGROUND -3 clock
  936.     RUNBACKGROUND utilities/calculator
  937.     RUNBACKGROUND -5 utilities/notepad
  938.  
  939. where RUNBACKGROUND is the command and the second parameter is the filename
  940. which may be preceded by a flag-variable that specifies an optional delay 
  941. time.  The delay can be from 0 to 9, for the number of seconds that 
  942. the startup script should sleep while allowing the background task to 
  943. load and start.  I've put that in to minimize thrashing of the disk as it
  944. tries to load several projects at once.
  945.  
  946.  
  947. LIMITATIONS:
  948.  
  949.     The program that you run cannot require any input from an interactive
  950.     CLI that starts it.    Additionally, you cannot specify any file 
  951.     redirection in the command line since this program provides the
  952.     redirection for you already.  If you need to use redirection for
  953.     your command, you can modify the source code where shown, thus
  954.     allowing the redirection to become one of the parameters passed
  955.     through to your program.
  956.  
  957.     RUNBACKGROUND does pass your command line parameters to the program
  958.     you wish to start, but limits the total length of your command
  959.     string to 227 (255 minus the 28 characters for "RUN >NIL: <NIL: " 
  960.     preceding your own file pathname and ">NIL: < NIL: " following it.)
  961.  
  962.  
  963. **********************************************************************
  964.  
  965. The command line for RunBack is the same as RunBackground, with the
  966. addition of a Stack parameter -Snnnn.  This will allow you to adjust
  967. the size of the stack for the program being started.
  968. For example, the command:
  969.  
  970.     1> RunBack -S2000 FunKeys
  971.  
  972. will start FunKeys with a stack size of 2000.
  973.  
  974. As with the original RunBackground, you must be careful not to try run
  975. a non-executable file or AmigaDOS will cause a GURU.  However, it is safe
  976. to use RunBack if the command does not exist.  Just be careful not to
  977. accidentally RunBack a data file.  Since you normally would use RunBack
  978. in your Startup-Sequence, this shouldn't be a problem.
  979.  
  980. To start FunKeys in your Startup-Sequence, assuming you have copied FunKeys
  981. into your C: directory, use:
  982.  
  983. 1> RunBack -S2000 c:FunKeys [your FunKeys preferences]
  984.  
  985.